[Chapter1] 스크럼

출근했더니 스크럼 마스터가 된 건에 관하여을 공부하며 정리한 글입니다.
틀린 부분은 지적해주시면 감사드리겠습니다 😀

스크럼

사이드 프로젝트를 하면서 ‘스크럼’이라는 단어를 자주 들어봤지만, 제대로 이해한 적은 없었다. 그렇다면 스크럼은 정확히 무엇일까?

스크럼은 애자일 원칙을 따르는 소프트웨어 개발 프레임워크이다. 복잡하고 변화가 빠른 문제를 해결하기 위해, 소규모 팀이 짧은 주기로 결과를 점진적으로 만들어 나가는 체계라고 볼 수 있다.

쉽게 말해, 우리가 웹 개발을 할 때 다양한 프레임워크 중 스프링(Spring)을 사용하는 것처럼, 애자일을 실천하는 다양한 방법 중 하나가 스크럼이다.

스크럼을 구성하는 핵심

3가지 역할

프로덕트 오너 (Product Owner)

  • 제품에 대한 비전과 방향을 명확히 한다.
  • 프로덕트 백로그(할 일 목록)를 작성하고, 항목을 우선순위에 따라 관리한다.
  • 제품 개발에 필요한 예산, 범위, 일정을 관리한다.
  • 완료된 항목을 검토하고, 가치를 극대화하는 선택을 한다.

개발팀 (Developers)

  • 프로덕트 백로그에 있는 항목을 실제로 구현하고, 제품을 동작 가능하게 만든다.
  • 설계, 개발, 테스트 등 필요한 모든 역량을 팀 내에서 갖춘다. 이런 팀을 기능 횡단 팀(cross-functional team) 이라고 부른다.

스크럼 마스터 (Scrum Master)

  • 팀이 스크럼을 올바르게 실천하도록 돕는다.
  • 팀이 일하는 데 방해가 되는 요소를 찾아 제거한다.
  • 조직과 팀이 스크럼 문화를 제대로 정착시킬 수 있도록 지원한다.

5가지 활동

스프린트 (Sprint)

  • 보통 2주 간격으로 진행되는 짧은 개발 주기이다.
  • 설계, 개발, 테스트를 포함하여 작은 기능을 완성한다.
  • 스프린트는 설령 목표를 달성하지 못하더라도 예정된 종료일에 무조건 끝낸다.

스프린트 플래닝 (Sprint Planning)

  • 새로운 스프린트를 시작할 때 하는 계획 회의이다.
  • 세 가지를 결정한다:
    • Why: 이번 스프린트의 목표는 무엇인가?
    • What: 어떤 작업을 완료할 것인가?
    • How: 목표를 어떻게 달성할 것인가?

데일리 스크럼 (Daily Scrum)

  • 매일 15분 동안 진행하는 짧은 점검 회의이다.
  • 다음 세 가지 질문을 중심으로 이야기한다.
    • 어제 무엇을 했는가?
    • 오늘 무엇을 할 것인가?
    • 목표 달성에 방해가 되는 문제는 무엇인가?

스프린트 리뷰 (Sprint Review)

  • 스프린트가 끝나면 제품을 시연하고 이해관계자들의 피드백을 받는 시간이다.
  • 단순한 발표가 아니라, 실제 동작하는 제품을 보여주어야 한다.
  • 피드백을 반영하여 프로덕트 백로그를 수정한다.

스프린트 회고 (Sprint Retrospective)

  • 스프린트가 종료된 직후 진행한다.
  • 팀의 협업 방식, 프로세스, 관계를 점검하고 개선할 점을 찾는다.
  • 작은 개선점을 꾸준히 실천하여 팀의 성숙도를 높인다.

3가지 주요 산출물

프로덕트 백로그 (Product Backlog)

  • 제품 개발에 필요한 모든 기능과 요구사항을 정리한 일감 목록이다.
  • 지속적으로 수정, 삭제, 우선순위 변경이 일어난다.
  • 주로 사용자 스토리 형식으로 작성한다.

스프린트 백로그 (Sprint Backlog)

  • 스프린트 플래닝을 통해 선정한 작업 목록이다.
  • 프로덕트 백로그에서 이번 스프린트 동안 수행할 작업을 구체화하고 나눈다.
  • 상황에 따라 작업량 조정이 가능하다.

인크리먼트 (Increment)

  • 스프린트 동안 개발된 완성된 제품 조각이다.
  • 새로운 기능이 추가되면서, 기존 제품에 가치를 더해가는 형태를 갖는다.
  • 릴리즈 여부와 관계없이, 항상 동작 가능한 상태여야 한다.
  • 개발팀과 프로덕트 오너는 완료 정의(Definition of Done) 를 합의해 기준을 명확히 해야 한다.

정리

스크럼은 복잡한 문제를 해결하기 위해 작은 팀이 짧은 시간 동안 작은 결과를 만들어내고, 그 과정에서 끊임없이 피드백하고 개선하는 프레임워크이다.

댓글남기기